
/*
* Copyright 2017-2018 pinganfang
* All right reserved.
*
*/

package com.pingan.haofang.searchcloud.monitor.service;

import com.pingan.haofang.searchcloud.common.dto.PageDTO;
import com.pingan.haofang.searchcloud.common.dto.PageQueryDTO;
import com.pingan.haofang.searchcloud.monitor.dto.*;

import java.util.Date;
import java.util.Map;

/**
 * 索引构建统计
 *
 * @author yangbaohu662
 */
public interface DashboardIndexSummaryInfoService {

    /**
     * 索引构建汇总
     */
    void buildIndexSummaryInfo(Date fromDate, Date toDate);

    /**
     * 获取索引视图（分页列表）
     */
    PageDTO<DashboardIndexSummaryInfoQueryResult> listPage(DashboardIndexSummaryInfoDTO dto, PageQueryDTO pageQueryDTO);

    /**
     * 从date 到当前时间范围内的索引构建情况
     */
    void monitorIndexBuild(Date startTime, Date endTime);

    /**
     * 索引_选定索引视图(分页+图表)
     */
    Map<String, Object> indexViewByIndex(DashboardIndexSummaryInfoDTO dto, PageQueryDTO pageQueryDto);

    /**
     * 索引失败率top10 + 索引耗时top10
     */
    DashboardIndexTopQueryResult indexTopView(Date startDate, Date endDate);

    /**
     * 索引视图图表
     */
    Map<String, ChartReportResultDTO> indexViewByChart(DashboardIndexSummaryInfoDTO dto);

    /**
     * 索引选定项目分页列表
     */
    PageDTO<DashboardIndexSummaryInfoQueryResult> indexViewByProjectOfPage(DashboardIndexSummaryInfoDTO parmDto, PageQueryDTO pageQueryDTO);
}
